Information on the internet is disseminated to many different users. Often, the users differ in their native language. Also, the computer display abilities of one user may be different from those of another user. The information is typically extracted from a database in response to a request and sometimes generated in response to the request. The problem is that the different users will generally desire to see the information in their native language.
One possible solution is to modify the data source (e.g., a web-server) so that it supports the needs of the many different users. This may be expensive and may, in some cases, be an impossible task, as different users have different needs.
Another possibility is to change the user's computer (e.g., software thereon), for example providing a special plug-in or browser to display the data as desired. This option is typically not practical as users are adverse to installing software on their computers. The data may be unavailable if no special software is used. Also, such software may be required to work with a wide range of browser types, which may be a Herculean undertaking.
Another possibility is to provide a web-intermediary in the form of a proxy which detects and replaces strings in one language by strings in another language (thus effecting a translation). However, such a proxy does not solve the problem for strings which are generated by client side active code and cannot be detected in the material sent by the web server. In addition, it may be difficult to distinguish between strings which should be changed (e.g., phrases to be printed) and strings that are actually parts of commands and should therefore not be replaced.